cc = gcc-9

mini-c: compiler_io.o symbol.o abt.o token.o scanner.o parser.o main.o 
	@echo '生成可执行文件'
	$(cc) object/compiler_io.o object/abt.o object/symbol.o object/token.o object/scanner.o object/parser.o object/main.o -o mini-c
	@echo ''

compiler_io.o: compiler_io.c header/compiler_io.h
	@echo '编译IO模块...'
	$(cc) -c compiler_io.c -o object/compiler_io.o
	@echo ''

symbol.o: symbol.c header/symbol.h
	@echo '编译符号表模块...'
	$(cc) -c symbol.c -o object/symbol.o
	@echo ''

abt.o: abt.c header/abt.h
	@echo '编译抽象语法树模块...'
	$(cc) -c abt.c -o object/abt.o
	@echo ''

token.o: token.c header/token.h
	@echo '编译词法单元模块...'
	$(cc) -c token.c -o object/token.o
	@echo ''

scanner.o:scanner.c header/scanner.h
	@echo '编译词法器模块...'
	$(cc) -c scanner.c -o object/scanner.o
	@echo ''

parser.o:parser.c header/parser.h 
	@echo '编译文法器模块...'
	$(cc) -c parser.c -o object/parser.o	
	@echo ''

main.o: main.c 
	@echo '编译主程序模块...'
	$(cc) -c main.c -o object/main.o
	@echo ''


